function depart_from_queue_2()
% Funcion:   depart_from_queue_2
% Proposito: Funcion de los eventos de partidas de la cola 2
%
%
global Q_LIMIT;
global BUSY;
global IDLE;

global next_event_type;
global num_custs_delayed;
global time_limit;
global num_events;
global num_in_q;
global server_status;

global area_num_in_q;
global area_server_status;
global total_time_in_system;
global mean_arrival_1;
global service_1_params;
global service_2_params;
global time;
global time_arrival;
global time_last_event;
global time_next_event;
global total_of_delays;

% Chequea si la cola 2 esta vacia
	if ( num_in_q{2} == 0)
		% La cola esta vacia entonces, pone el servidor 2 en libre
		server_status{2}      = IDLE;
		time_next_event(next_event_type) = 1.0e+30;
	else
        % La cola no esta vacia, entonces decrementa el numero de
		%  clientes en cola.
		num_in_q{2} = num_in_q{2} - 1;
        
        % Calcula el delay del cliente que esta comenzando a ser servido
		% y actualiza el acumulador del delay total
		delay            = time - time_arrival{2}(1);
		total_of_delays{2} = total_of_delays{2} + delay;
        
        % Incrementa el numero de clientes atendidos
		%num_custs_delayed{2} = num_custs_delayed{2} + 1;
            
        % Programa una partida de sistema o una realimentacion
        if rand > .9
            time_next_event(3) = time + uniform(service_2_params(1), service_2_params(2));
            time_next_event(4) = 1.0e+30;
            %calculo tiempo total de cliente en sistema, y el maximo
            total_time_in_system = total_time_in_system + time_next_event(3) - time_arrival{2}(1);
        else
            time_next_event(4) = time + uniform(service_2_params(1), service_2_params(2));
            time_next_event(3) = 1.0e+30;
            %calculo tiempo total de cliente en sistema, y el maximo
            total_time_in_system = total_time_in_system + time_next_event(4) - time_arrival{2}(1);
        end

		% Mueve cada cliente en la cola un lugar.
        for i = 1:num_in_q{2}
            time_arrival{2}(i) = time_arrival{2}(i + 1);
        end
    end
    
    num_custs_delayed{2} = num_custs_delayed{2} + 1;
    %veo si el evento actual es de realimentacion
    if next_event_type == 3
        %es realimentacion, asi que mando a la cola 1
        arrive();
    end
end

